package com.pencilisland.pay.mgt.app.service;

import org.springframework.data.domain.Page;

import com.pencilisland.pay.mgt.app.entity.GoodsEntity;
import com.pencilisland.pay.mgt.thirdparty.bean.UploadFile;

/**
 * 商品服务
 * 
 * @author Breeze
 *
 */
public interface GoodsService {
	/**
	 * 分页查询商品列表
	 * 
	 * @param cretiria
	 * @param start
	 * @param length
	 * @return
	 */
	Page<GoodsEntity> goodsList(GoodsEntity cretiria, int start, int length);

	/**
	 * 保存更新
	 * 
	 * @param tenant
	 * @return
	 */
	GoodsEntity save(GoodsEntity tenant);

	/**
	 * 加载商品数据
	 * 
	 * @param id
	 * @return
	 */
	GoodsEntity loadData(Long id);

	/**
	 * 删除商品数据
	 * 
	 * @param id
	 */
	void delete(Long id);

	/**
	 * 删除商品详情图片
	 * 
	 * @param id
	 */
	void deleteImg(Long id);

	/**
	 * 已存在图片
	 * @param goodsId
	 * @return
	 */
	UploadFile[] imgs(Long goodsId,Integer type);

	/**
	 * 发布商品
	 * @param goodsId
	 * @throws Exception 
	 */
	void publish(Long goodsId) throws Exception;

	/**
	 * 撤销商品
	 * @param goodsId
	 */
	void cancel(Long goodsId)throws Exception;

	/**
	 * 获取小程序二维码
	 * @param goodsId
	 * @return
	 * @throws Exception 
	 */
	String qrcode(Long goodsId) throws Exception;
}
